Taking a snapshot or a flashcopy of a data collection refers to the process of copying data stored on a first volume (i.e., a source) at a certain point in time (e.g., T1) and storing the copied data on a second volume (i.e., a target). When several snapshots of the same data at different times (e.g., T1, T2, T3, etc.) are taken, the data can be restored to any of the previous snapshot states, should any corruptions or other problems with the data are detected.
Current restoration schemes typically require reads or writes to and from the source volume to be suspended during the restoration process. Therefore, the restoration process results in system downtime which is highly undesirable and costly, particularly where large volumes of data are to be restored. Methods and systems are needed that can overcome the aforementioned shortcomings.